From: Marco Trevisan (TreviƱo) Date: Tue, 28 May 2019 23:21:51 +0000 (+0200) Subject: background: Inherit Animation from GnomeDesktop.BGSlideShow X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~781^2^2~441 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=348e4ac9018da294784759cae761ebea97864609;p=gnome-shell.git background: Inherit Animation from GnomeDesktop.BGSlideShow Animation background is just wrapping a native GnomeDesktop BGSlideShow object, so instead of using composition we can now just inherit from the native GObject, re-using native properties when possible, and avoiding to keep an extra wrapper to the bg file. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/563 --- diff --git a/js/ui/background.js b/js/ui/background.js index f99ad381c..4dde09101 100644 --- a/js/ui/background.js +++ b/js/ui/background.js @@ -625,11 +625,11 @@ var BackgroundSource = class BackgroundSource { } }; -var Animation = class Animation { - constructor(params) { - params = Params.parse(params, { file: null }); +var Animation = GObject.registerClass( +class Animation extends GnomeDesktop.BGSlideShow { + _init(params) { + super._init(params); - this.file = params.file; this.keyFrameFiles = []; this.transitionProgress = 0.0; this.transitionDuration = 0.0; @@ -637,9 +637,7 @@ var Animation = class Animation { } load(callback) { - this._show = new GnomeDesktop.BGSlideShow({ file: this.file }); - - this._show.load_async(null, () => { + this.load_async(null, () => { this.loaded = true; if (callback) callback(); @@ -649,13 +647,11 @@ var Animation = class Animation { update(monitor) { this.keyFrameFiles = []; - if (!this._show) + if (this.get_num_slides() < 1) return; - if (this._show.get_num_slides() < 1) - return; - - let [progress, duration, isFixed_, filename1, filename2] = this._show.get_current_slide(monitor.width, monitor.height); + let [progress, duration, isFixed_, filename1, filename2] = + this.get_current_slide(monitor.width, monitor.height); this.transitionDuration = duration; this.transitionProgress = progress; @@ -666,8 +662,7 @@ var Animation = class Animation { if (filename2) this.keyFrameFiles.push(Gio.File.new_for_path(filename2)); } -}; -Signals.addSignalMethods(Animation.prototype); +}); var BackgroundManager = class BackgroundManager { constructor(params) {